package cl.ncx.cmvrc.persistence.jpa.admin.entities;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

/**
 * SeguMenuPerfil entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "segu_menu_perfil", schema = "seguridad")
@SequenceGenerator(name = "segu_menuperf_seq", sequenceName = "seguridad.segu_menu_perfil_menu_perf_codigo_seq")
public class SeguMenuPerfil implements java.io.Serializable {

	// Fields

	private static final long serialVersionUID = -6109064839015021267L;
	private Long menuPerfCodigo;
	private SeguMenu seguMenu;
	private SeguPerfil seguPerfil;
	private Integer menuPerfPermisos;

	// Constructors

	/** default constructor */
	public SeguMenuPerfil() {
	}

	/** full constructor */
	public SeguMenuPerfil(Long menuPerfCodigo, SeguMenu seguMenu,
			SeguPerfil seguPerfil, Integer menuPerfPermisos) {
		this.menuPerfCodigo = menuPerfCodigo;
		this.seguMenu = seguMenu;
		this.seguPerfil = seguPerfil;
		this.menuPerfPermisos = menuPerfPermisos;
	}

	// Property accessors
	@Id
	@Column(name = "menu_perf_codigo", unique = true, nullable = false)
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "segu_menuperf_seq")
	public Long getMenuPerfCodigo() {
		return this.menuPerfCodigo;
	}

	public void setMenuPerfCodigo(Long menuPerfCodigo) {
		this.menuPerfCodigo = menuPerfCodigo;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "menu_codigo", nullable = false)
	public SeguMenu getSeguMenu() {
		return this.seguMenu;
	}

	public void setSeguMenu(SeguMenu seguMenu) {
		this.seguMenu = seguMenu;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "perf_codigo", nullable = false)
	public SeguPerfil getSeguPerfil() {
		return this.seguPerfil;
	}

	public void setSeguPerfil(SeguPerfil seguPerfil) {
		this.seguPerfil = seguPerfil;
	}

	@Column(name = "menu_perf_permisos", nullable = false)
	public Integer getMenuPerfPermisos() {
		return this.menuPerfPermisos;
	}

	public void setMenuPerfPermisos(Integer menuPerfPermisos) {
		this.menuPerfPermisos = menuPerfPermisos;
	}

}